package main

import "fmt"

func foo() (int, string) {
	return 100, "YCQ"
}
func main() {
	//标准声明格式
	var name string
	var age int
	var isOK bool
	fmt.Println(name, age, isOK)
	//批量声明
	var (
		a string
		b int
		c bool
		d float32
	)
	fmt.Println(a, b, c, d)
	//声明变量同时指定初始值
	var name1 string = "杨寒"
	var age1 int = 18
	fmt.Println(name1, age1)
	var name2, age2 = "Yang Han", 17
	fmt.Println(name2, age2)
	//类型推导
	var name3 = "杨寒"
	var age3 = 18
	fmt.Println(name3, age3)
	//短变量声明，仅支持函数内部使用
	m := 10
	fmt.Println(m)
	/*匿名变量:
	匿名变量不占用命名空间，不会分配内存，所以匿名变量之间不存在重复声明。*/
	x, _ := foo()
	_, y := foo()
	fmt.Println("x=", x)
	fmt.Println("y=", y)

}

/*
注意事项：

函数外的每个语句都必须以关键字开始（var、const、func等）
:=不能使用在函数外。
_多用于占位，表示忽略值。
*/
